#-*- coding: UTF-8 -*-
from pyramid.httpexceptions import HTTPFound
from pyramid.security import remember
from pyramid.security import forget



from scp.modelo.models import DBSession
from scp.modelo.Usuario import Usuario

from pyramid.response import Response
from pyramid.view import view_config
import json

from pyramid.security import authenticated_userid
from pyramid.httpexceptions import HTTPForbidden

from scp.modelo.Usuario import Usuario
from scp.modelo.Rol import Rol
from scp.modelo.Permiso import Permiso

import json

#@view_config(renderer='json')
def home(request):
	"""Método Controlador de la Página Principal, contrala las peticiones /home o /
		@param request: Petición Http del cliente. 	
	"""
	
	
	login = authenticated_userid(request)
	
	print 'esto es loginnnnnnnn!!!!!'
	print login
	
	if login is None:
		print 'No estás logeadoooooooo!!!!'
		#return HTTPForbidden()
		loc = request.route_url('login', _query=(('next', request.path),))
		return HTTPFound(location=loc)
	
	session = DBSession()
	usuario = session.query(Usuario).filter_by(username=login).first()
	
	print '>>>usuario'
	print usuario.nombre
	
	rolesUsuario = usuario.roles
	
	mostrarMenuSistema = False
	
	for rol in rolesUsuario:
		permisos = rol.permisos
		for permiso in permisos:
			if permiso.tipo == 'S':
				mostrarMenuSistema = True
	
	
	#return {'logged_in': login, 'json': {'hola': 'hola', 'mundo': 'mundo'}}
	return dict(
        logged_in = login,
        mostrarMenus = json.dumps(dict( mostrarMenuSistema = mostrarMenuSistema,)),
        ocultar =  json.dumps(dict( sistema = False, crearUsuario = False,mundo = 'mundo',)),
        )
	
	
	
	
